"""
正则表达式基本语法
[abc]  只能有一个 a,b,c
[a-z]  只能匹配一个所有的小写字符
[a-zA-Z] 只能匹配一个 所有的大写字符和小写字符
[a-zA-Z0-9] 只能匹配一个 所有的字符，和数字
[a-zA-Z0-9_] 只能匹配一个 所有的字符，和数字 和下划线
[^abc]  只要不是abc 都行

# 预定义字符
.  表示任意字符，没有任何限制 (不包括/n)
\d  表示任意一个数字 [0-9]
\w  匹配单词字符 ，相当于 [a-zA-Z0-9_]
\D  不是数字
\W  不是单词字符
\S  不是空白字符

# 量词
:? 表示前面的内容出现了0-1次   比如 a:?  匹配a出现0或者1次   .:?  任意字符匹配一次或者0次
+  表示前面的内容至少出现1次
*  表示前面的内容出现任意次 0或者多次
{n} 表示前面的内容出现n次
{n,m} 表示前面的内容最少出现n次，最多出现m次
{n,}  表示前面的内容最少出现n次，最多出现无数次

分组： () 将() 中的内容看做一个完整的整体
(abc)  完整匹配abc  a不匹配， b不匹配 必须匹配abc这个整体
(abc | cde)  匹配abc 或者 cde


自己实验体会 .* 和 .*？的区别
.* 任意字符出现任意次


abcdefg


fullmatch
"""
import re

# 1. 要匹配的字符串
str1 = "abcabc"

# 2. 正则表达式
pattern = re.compile("(abc|cde){2}")

# 3. 进行匹配
if re.fullmatch(pattern,str1):
    print("匹配成功")
else:
    print("匹配失败")

